<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>2CSS选择器</title>
    <style>
        /* 标签名选择器*/
        h4{
            color: red;
        }
        div{
            width: 50px;
            height: 50px;
            background-color: cyan;
        }
        /* id选择器  #{id值} */
        #d2{
            color: red;
        }
        /*
            如果是 class 属性值过滤的 则 .{class 值}
        */
        .error{
            background-color: red;
            color: white;
        }
        .success{
            background-color: green;
            color: white;
        }
        /* hover 悬停窗台  &的关系 */
        #d2:hover{
            background-color: pink;
        }
    /*    * 通用选择器*/
        *{
            font-style: italic;
        }

        #d2,h4.error{
            /*文字修饰:添加下划线*/
            text-decoration: underline;
        }


        /*这几个顺序是固定的,否则可能会失效*/
        a:link{ //超链接未点击时颜色变换(超链接独有)
            color: gray;
        }
        a:visited{ //点击之后颜色变换(超链接独有)
            color:green;
        }
        a:hover{ //鼠标悬停时候颜色变换
            color: red;
        }
        a:active{ // 选中激活时候颜色变换(超链接独有)
            color: orange;
        }

        /* 通过 type进行过滤  */
        [type="text"]{
            background-color: yellow;
        }

    /*    后代选择器*/
        #d1 span{
            background-color: magenta;
        }
        /*子类选择器,选中于是怒的直接子元素,可以逐级向下选多层*/
        #d1>div>span{
            color: yellow;
        }
    </style>
</head>
<body>
    <h4>我是标题</h4>
    <p>我是段落</p>
    <a href="#">我是超链接</a>
    <h4>我是标题</h4>
    <div>我是div1</div>
    <div id="d2">我是div2</div>
    <div>我是div3</div>
    <hr>
    <span class="error">用户名被占用</span>
    <span class="error">操作失败</span>
    <br>
    <span class="success">有效的手机号</span>
    <span class="success">操作成功</span>
    <hr>
    <a href="https://www.baidu.com">百度首页</a>
    <a href="abc">错误地址</a>
    <hr>
    <input type="text">
    <input type="password">
    <hr>
    <div id="d1">
        <span>1</span>
        <div>
            <span>2</span>
            <b>测试文字</b>
        </div>
        <span>3</span>
    </div>
</body>
</html>